//---------------------------------------------------------------------
// CascadeSharp
// General Public License V2
//---------------------------------------------------------------------

using System;
using CascadeSharp.TKernel.TCollection;
using CascadeSharp.TKMath.GeomAbs;
using CascadeSharp.TKService.Aspect;
using CascadeSharp.TKService.Graphic3d;

namespace CascadeSharp.TKV3d.Prs3d
{
    //---------------------------------------------------------------------
    //  Class  Prs3d_Drawer
    //---------------------------------------------------------------------
    public class Prs3d_Drawer : Graphic3d_PresentationAttributes
    {
        public Prs3d_Drawer()
            : base()
        {
            throw new NotImplementedException();
        }

        public Prs3d_Drawer(Prs3d_Drawer parameter1)
            : base()
        {
            throw new NotImplementedException();
        }

        public char get_type_name()
        {
            throw new NotImplementedException("Native class returns pointer to integer/double/handle.");
        }

        public void SetTypeOfDeflection(Aspect_TypeOfDeflection theTypeOfDeflection)
        {
            throw new NotImplementedException();
        }

        public Aspect_TypeOfDeflection TypeOfDeflection()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnTypeOfDeflection()
        {
            throw new NotImplementedException();
        }

        public void SetMaximalChordialDeviation(double theChordialDeviation)
        {
            throw new NotImplementedException();
        }

        public double MaximalChordialDeviation()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnMaximalChordialDeviation()
        {
            throw new NotImplementedException();
        }

        public void SetTypeOfHLR(Prs3d_TypeOfHLR theTypeOfHLR)
        {
            throw new NotImplementedException();
        }

        public Prs3d_TypeOfHLR TypeOfHLR()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnTypeOfHLR()
        {
            throw new NotImplementedException();
        }

        public void SetMaximalParameterValue(double theValue)
        {
            throw new NotImplementedException();
        }

        public double MaximalParameterValue()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnMaximalParameterValue()
        {
            throw new NotImplementedException();
        }

        public void SetIsoOnPlane(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool IsoOnPlane()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnIsoOnPlane()
        {
            throw new NotImplementedException();
        }

        public bool IsoOnTriangulation()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnIsoOnTriangulation()
        {
            throw new NotImplementedException();
        }

        public void SetIsoOnTriangulation(bool theToEnable)
        {
            throw new NotImplementedException();
        }

        public void SetDiscretisation(int theValue)
        {
            throw new NotImplementedException();
        }

        public int Discretisation()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDiscretisation()
        {
            throw new NotImplementedException();
        }

        public void SetDeviationCoefficient(double theCoefficient)
        {
            throw new NotImplementedException();
        }

        public double DeviationCoefficient()
        {
            throw new NotImplementedException();
        }

        public void SetDeviationCoefficient()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDeviationCoefficient()
        {
            throw new NotImplementedException();
        }

        public double PreviousDeviationCoefficient()
        {
            throw new NotImplementedException();
        }

        public void UpdatePreviousDeviationCoefficient()
        {
            throw new NotImplementedException();
        }

        public void SetDeviationAngle(double theAngle)
        {
            throw new NotImplementedException();
        }

        public double DeviationAngle()
        {
            throw new NotImplementedException();
        }

        public void SetDeviationAngle()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDeviationAngle()
        {
            throw new NotImplementedException();
        }

        public double PreviousDeviationAngle()
        {
            throw new NotImplementedException();
        }

        public void UpdatePreviousDeviationAngle()
        {
            throw new NotImplementedException();
        }

        public void SetAutoTriangulation(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool IsAutoTriangulation()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnIsAutoTriangulation()
        {
            throw new NotImplementedException();
        }

        public Prs3d_IsoAspect UIsoAspect()
        {
            throw new NotImplementedException();
        }

        public void SetUIsoAspect(Prs3d_IsoAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnUIsoAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_IsoAspect VIsoAspect()
        {
            throw new NotImplementedException();
        }

        public void SetVIsoAspect(Prs3d_IsoAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnVIsoAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect WireAspect()
        {
            throw new NotImplementedException();
        }

        public void SetWireAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnWireAspect()
        {
            throw new NotImplementedException();
        }

        public void SetWireDraw(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool WireDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnWireDraw()
        {
            throw new NotImplementedException();
        }

        public Prs3d_PointAspect PointAspect()
        {
            throw new NotImplementedException();
        }

        public void SetPointAspect(Prs3d_PointAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnPointAspect()
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnPointAspect(Prs3d_Drawer theDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnPointAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect LineAspect()
        {
            throw new NotImplementedException();
        }

        public void SetLineAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnLineAspect()
        {
            throw new NotImplementedException();
        }

        public bool SetOwnLineAspects(Prs3d_Drawer theDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetOwnLineAspects()
        {
            throw new NotImplementedException();
        }

        public bool SetOwnDatumAspects(Prs3d_Drawer theDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetOwnDatumAspects()
        {
            throw new NotImplementedException();
        }

        public Prs3d_TextAspect TextAspect()
        {
            throw new NotImplementedException();
        }

        public void SetTextAspect(Prs3d_TextAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnTextAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_ShadingAspect ShadingAspect()
        {
            throw new NotImplementedException();
        }

        public void SetShadingAspect(Prs3d_ShadingAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnShadingAspect()
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnShadingAspect(Prs3d_Drawer theDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnShadingAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect SeenLineAspect()
        {
            throw new NotImplementedException();
        }

        public void SetSeenLineAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnSeenLineAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_PlaneAspect PlaneAspect()
        {
            throw new NotImplementedException();
        }

        public void SetPlaneAspect(Prs3d_PlaneAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnPlaneAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_ArrowAspect ArrowAspect()
        {
            throw new NotImplementedException();
        }

        public void SetArrowAspect(Prs3d_ArrowAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnArrowAspect()
        {
            throw new NotImplementedException();
        }

        public void SetLineArrowDraw(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool LineArrowDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnLineArrowDraw()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect HiddenLineAspect()
        {
            throw new NotImplementedException();
        }

        public void SetHiddenLineAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnHiddenLineAspect()
        {
            throw new NotImplementedException();
        }

        public bool DrawHiddenLine()
        {
            throw new NotImplementedException();
        }

        public void EnableDrawHiddenLine()
        {
            throw new NotImplementedException();
        }

        public void DisableDrawHiddenLine()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDrawHiddenLine()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect VectorAspect()
        {
            throw new NotImplementedException();
        }

        public void SetVectorAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnVectorAspect()
        {
            throw new NotImplementedException();
        }

        public void SetVertexDrawMode(Prs3d_VertexDrawMode theMode)
        {
            throw new NotImplementedException();
        }

        public Prs3d_VertexDrawMode VertexDrawMode()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnVertexDrawMode()
        {
            throw new NotImplementedException();
        }

        public Prs3d_DatumAspect DatumAspect()
        {
            throw new NotImplementedException();
        }

        public void SetDatumAspect(Prs3d_DatumAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDatumAspect()
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect SectionAspect()
        {
            throw new NotImplementedException();
        }

        public void SetSectionAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnSectionAspect()
        {
            throw new NotImplementedException();
        }

        public void SetFreeBoundaryAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect FreeBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnFreeBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public void SetFreeBoundaryDraw(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool FreeBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnFreeBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public void SetUnFreeBoundaryAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect UnFreeBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnUnFreeBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public void SetUnFreeBoundaryDraw(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool UnFreeBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnUnFreeBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public void SetFaceBoundaryAspect(Prs3d_LineAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public Prs3d_LineAspect FaceBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnFaceBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnFaceBoundaryAspect(Prs3d_Drawer theDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetupOwnFaceBoundaryAspect()
        {
            throw new NotImplementedException();
        }

        public void SetFaceBoundaryDraw(bool theIsEnabled)
        {
            throw new NotImplementedException();
        }

        public bool FaceBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnFaceBoundaryDraw()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnFaceBoundaryUpperContinuity()
        {
            throw new NotImplementedException();
        }

        public GeomAbs_Shape FaceBoundaryUpperContinuity()
        {
            throw new NotImplementedException();
        }

        public void SetFaceBoundaryUpperContinuity(GeomAbs_Shape theMostAllowedEdgeClass)
        {
            throw new NotImplementedException();
        }

        public void UnsetFaceBoundaryUpperContinuity()
        {
            throw new NotImplementedException();
        }

        public Prs3d_DimensionAspect DimensionAspect()
        {
            throw new NotImplementedException();
        }

        public void SetDimensionAspect(Prs3d_DimensionAspect theAspect)
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDimensionAspect()
        {
            throw new NotImplementedException();
        }

        public void SetDimLengthModelUnits(TCollection_AsciiString theUnits)
        {
            throw new NotImplementedException();
        }

        public void SetDimAngleModelUnits(TCollection_AsciiString theUnits)
        {
            throw new NotImplementedException();
        }

        public TCollection_AsciiString DimLengthModelUnits()
        {
            throw new NotImplementedException();
        }

        public TCollection_AsciiString DimAngleModelUnits()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDimLengthModelUnits()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDimAngleModelUnits()
        {
            throw new NotImplementedException();
        }

        public void SetDimLengthDisplayUnits(TCollection_AsciiString theUnits)
        {
            throw new NotImplementedException();
        }

        public void SetDimAngleDisplayUnits(TCollection_AsciiString theUnits)
        {
            throw new NotImplementedException();
        }

        public TCollection_AsciiString DimLengthDisplayUnits()
        {
            throw new NotImplementedException();
        }

        public TCollection_AsciiString DimAngleDisplayUnits()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDimLengthDisplayUnits()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnDimAngleDisplayUnits()
        {
            throw new NotImplementedException();
        }

        public Prs3d_Drawer Link()
        {
            throw new NotImplementedException();
        }

        public bool HasLink()
        {
            throw new NotImplementedException();
        }

        public void Link(Prs3d_Drawer theDrawer)
        {
            throw new NotImplementedException();
        }

        public void SetLink(Prs3d_Drawer theDrawer)
        {
            throw new NotImplementedException();
        }

        public void ClearLocalAttributes()
        {
            throw new NotImplementedException();
        }

        public bool SetShadingModel(Graphic3d_TypeOfShadingModel theModel, bool theToOverrideDefaults)
        {
            throw new NotImplementedException();
        }

        public bool SetShadingModel(Graphic3d_TypeOfShadingModel theModel)
        {
            throw new NotImplementedException();
        }

        public void SetHLRAngle(double theAngle)
        {
            throw new NotImplementedException();
        }

        public double HLRAngle()
        {
            throw new NotImplementedException();
        }

        public void SetHLRAngle()
        {
            throw new NotImplementedException();
        }

        public bool HasOwnHLRDeviationAngle()
        {
            throw new NotImplementedException();
        }

        public double PreviousHLRDeviationAngle()
        {
            throw new NotImplementedException();
        }
    }; // class Prs3d_Drawer
}